package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 报餐订单对象 sys_meal_order
 *
 * @author jijinwu
 * @date 2024-07-19
 */
@ApiModel(value = "报餐订单")
public class SysMealOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    @ApiModelProperty(value = "订单ID",dataType = "Long")
    private Long orderId;

    /** 订单号 */
    @ApiModelProperty(value = "订单号",dataType = "String")
    private String orderNumber;

    /** 用户ID */
    @ApiModelProperty(value = "用户ID",dataType = "Long")
    private Long userId;

    /** 订单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    @ApiModelProperty(value = "订单日期",dataType = "Date")
    private Date orderDate;

    /** 订单状态（0-已下单，1-订单已取消） */
    @Excel(name = "订单状态", readConverterExp = "0=-已下单，1-订单已取消")
    @ApiModelProperty(value = "订单状态",dataType = "String")
    private String orderStatus;

    /** 部门ID */
    @ApiModelProperty(value = "部门ID",dataType = "Long")
    private Long deptId;

    /** 公司ID */
    @ApiModelProperty(value = "公司ID",dataType = "Long")
    private Long companyId;

    /** 报餐记录uuid */
    @ApiModelProperty(value = "报餐记录uuid",dataType = "String")
    private String mealUuid;

    /** 食堂id */
    @ApiModelProperty(value = "食堂id",dataType = "Long")
    private Long canteenId;

    /** 就餐时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "就餐时间",dataType = "Date")
    private Date mealDate;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setOrderDate(Date orderDate)
    {
        this.orderDate = orderDate;
    }

    public Date getOrderDate()
    {
        return orderDate;
    }
    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }

    public String getMealUuid() {
        return mealUuid;
    }

    public void setMealUuid(String mealUuid) {
        this.mealUuid = mealUuid;
    }

    public Long getCanteenId() {
        return canteenId;
    }

    public void setCanteenId(Long canteenId) {
        this.canteenId = canteenId;
    }

    public Date getMealDate() {
        return mealDate;
    }

    public void setMealDate(Date mealDate) {
        this.mealDate = mealDate;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderNumber", getOrderNumber())
            .append("userId", getUserId())
            .append("orderDate", getOrderDate())
            .append("orderStatus", getOrderStatus())
            .append("deptId", getDeptId())
            .append("companyId", getCompanyId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
